package cn.biplam.back.operator.ddl.md2sql.md;

import java.util.ArrayList;

import cn.biplam.common.client.DbResource;
import cn.biplam.common.wrapper.ErrorMessage;
import cn.biplam.common.wrapper.KvMap;

public interface Md {
	
	
	/**
	 * 从md取表信息
	 * @param sSchema   表所在的用户
	 * @param sTableName  表名，可为null，null则返回说有表
	 * @param mDbResource  源数据数据源
	 * @param mdDbResource  md数据源
	 * @return ArrayList<KvMap<String,String>>
	 * @throws ErrorMessage
	 */
	public ArrayList<KvMap<String,String>> getTable(String sSchema,String sTableName,
            DbResource mDbResource,DbResource mdDbResource) throws ErrorMessage;
	/**
	 * 取得列信息
	 * @throws ErrorMessage
	 */
	public ArrayList<KvMap<String,String>> getColumns();
	
	/**
	 * 取得主键信息
	 * @throws ErrorMessage
	 */
	public ArrayList<KvMap<String,String>> getPK();
	
	/**
	 * 取得外键信息
	 * @throws ErrorMessage
	 */
	public ArrayList<KvMap<String,String>> getFK();
	
	/**
	 * 取得索引信息
	 * @throws ErrorMessage
	 */
	public ArrayList<KvMap<String,String>> getIndexs();
}
